/*
 * @Description: 公共状态
 * @Date: 2022-12-16 15:48:23
 * @Author: lizhiqiang
 */
// 统一数据删除标志
export const deleteTag = [{
    label: "否",
    value: 0
}, {
    label: "是",
    value: 1
}]
// 协议类型
export const agreementType = []

// 状态
export const enableStatus = [
    {
        label: "启用",
        value: 1
    },
    {
        label: "禁用",
        value: 0
    }
]
// 渠道商类别
export const channelMerchantType = []

// 优惠券类型
export const couponType = [
    {
        label: "购物券",
        value: 1
    },
    {
        label: "满减券",
        value: 2
    },
    {
        label: "折扣券",
        value: 3
    },
    {
        label: "代金券(票券)",
        value: 4
    }
]
// 优惠券- 票券类型
export const couponTypeOptions = [
    { value: 1, label: "平台优惠券" },
    { value: 2, label: "商家优惠券" },
]
// 优惠券excel发放详情
export const couponBatchState = [
    {
        label: "发放中",
        value: 1
    },
    {
        label: "发放成功",
        value: 2
    },
    {
        label: "发放失败",
        value: 3
    },
]
// 商户是否支持线上、线下支付
export const isInStatisticsOptions = [
    {
        label: "是",
        value: 1
    },
    {
        label: "否",
        value: 0
    },
]
// 是否入统
export const supportPay = [
    {
        label: "是",
        value: 1
    },
    {
        label: "否",
        value: 0
    },
]
// 生成收款二维码
export const generateQrCode = [
    {
        label: "是",
        value: 1
    }, {
        label: "否",
        value: 2
    }
]
// 积分账户类型
export const accountType = [
    {
        label: "商家积分",
        value: 2
    },
    {
        label: "应用积分",
        value: 4
    },
    {
        label: '个人积分',
        value: 1
    },
    {
        label: "平台积分",
        value: 3
    }
]
// 支付机构类型
export const payOrg = [{
    label: "银行",
    value: 0
}, {
    label: "第三方机构",
    value: 1
}]
// 币种
export const currencyType = [{
    label: '人民币',
    value: '1'
}]
export const accountTitleType = [{
    label: "积分",
    value: '1'
}, {
    label: '资金',
    value: '2'
}, {
    label: "第三方支付",
    value: '3'
}]

// 资金方向
export const balanceDirection = [{
    label: '入金',
    value: 'I'
}, {
    label: '出金',
    value: 'O'
}]
// 结算类型
export const settleType = [{
    label: "平台结算",
    value: 0
}, {
    label: "商家结算",
    value: 1
}]
// 积分平台状态
export const integralPlatformStatus = [
    {
        label: '不可用',
        value: 0
    }, {
        label: '可用',
        value: 1
    }
]
// 借贷描述
export const dcDirection = [{
    label: '入金',
    value: 'I'
}, {
    label: '出金',
    value: 'O'
}]

export const optionTypeOptions = [{
    label: '领取',
    value: 1
}, {
    label: '冻结',
    value: 2
}, {
    label: '解冻',
    value: 3
}, {
    label: '核销',
    value: 4
}, {
    label: '结算',
    value: 5
}, {
    label: '退款',
    value: 6
}, {
    label: '管理员冻结',
    value: 7
}, {
    label: '管理员解冻',
    value: 8
}, {
    label: '管理员废弃',
    value: 9
}]
export const couponStatus = [{
    label: '未使用',
    value: 0
}, {
    label: '已使用',
    value: 1
}, {
    label: '已过期',
    value: 2
}, {
    label: '可领取',
    value: 3
}]

export const payState = [{
    label: '待支付',
    value: -1
}, {
    label: '支付中',
    value: 0
}, {
    label: '支付成功',
    value: 1
}, {
    label: '支付失败',
    value: 2
}, {
    label: '取消支付',
    value: 3
}

]

//支付来源
export const payTypeList = [{
    label: '线上支付',
    value: 'Online'
}, {
    label: '线下支付',
    value: 'Offline'
}, {
    label: 'PC端支付',
    value: 'Pcline'
},
{
    label: '刷卡支付',
    value: 'Offline_pos'
}]


// 使用范围
export const useType = [
    {
        label: '全部',
        value: 1
    },
    {
        label: '指定商户',
        value: 2
    }

]
// 审核配置 - 业务列表
export const auditConfigBiz = [
    {
        label: '商家审核',
        value: 'SH00001'
    },
    {
        label: '支付渠道审核',
        value: 'SH00002'
    },
    {
        label: '积分规则审核',
        value: 'SH00003'
    },
    {
        label: '接入审核',
        value: 'SH00004'
    },
    {
        label: '交易规则审核',
        value: 'SH00005'
    },
    {
        label: '第三方接入审核',
        value: 'SH00006'
    },
    {
        label: '优惠券审核',
        value: 'SH00007'
    },
    {
        label: '渠道商审核',
        value: 'SH00008'
    },

]

// 收款银行
export const bankList = [
    {
        label: '工商银行',
        value: 1
    },
    {
        label: '农业银行',
        value: 2
    },
    {
        label: '中国银行',
        value: 3
    },
    {
        label: '建设银行',
        value: 4
    },
    {
        label: '民生银行',
        value: 5
    },
    {
        label: '兴业银行',
        value: 6
    },
    {
        label: '浙商银行',
        value: 7
    },
    {
        label: '成都农商银行',
        value: 8
    },
    {
        label: '成都银行',
        value: 9
    },
]

//经营类型
export const typeList = [
    {
        label: "自营",
        value: 1
    },
    {
        label: "联营",
        value: 2
    },
    {
        label: "租赁",
        value: 3
    },
    {
        label: "私营",
        value: 4
    }
]

//业态
export const businessTypeList = [
    {
        label: "餐饮",
        value: "餐饮"
    },
    {
        label: "茶馆",
        value: "茶馆"
    },
    {
        label: "酒吧",
        value: "酒吧"
    },
    {
        label: "酒店",
        value: "酒店"
    },
    {
        label: "咖啡",
        value: "咖啡"
    },
    {
        label: "零售",
        value: "零售"
    },
    {
        label: "文创",
        value: "文创"
    },
    {
        label: "演绎",
        value: "演绎"
    },
    {
        label: "茶馆+餐饮",
        value: "茶馆+餐饮"
    },
    {
        label: "零售+餐饮",
        value: "零售+餐饮"
    }
]

// 审核状态
export const auditStatus = [
    {
        label: "待审核",
        value: 1
    },
    {
        label: "审核中",
        value: 2
    },
    {
        label: "通过",
        value: 3
    },
    {
        label: "未通过",
        value: 4
    },
]

// 支付订单 - 支付状态
export const payOrderState = [
    {
        label: "等待支付",
        value: 'WAITING'
    },
    {
        label: "订单关闭",
        value: 'CLOSED'
    },
    {
        label: "用户开始支付",
        value: 'PAY_START'
    },
    {
        label: "三方支付进行中",
        value: 'THIRD_PAYING'
    },
    {
        label: "支付失败",
        value: 'PAY_FAIL'
    },
    {
        label: "支付成功",
        value: 'PAY_SUCCESS'
    },
    {
        label: "用户取消支付",
        value: 'CANCEL_PAY'
    },
]
// 支付订单 - 退款状态
export const refundState = [
    {
        label: "申请退款",
        value: 'REFUND_APPLY'
    },
    {
        label: "退款成功",
        value: 'REFUND_SUCCESS'
    },
    {
        label: "退款失败",
        value: 'REFUND_FAIL'
    },
]
// 支付订单 - 收货状态
export const receivingStatus = [
    {
        label: "未收货",
        value: 'UNRECEIVING'
    },
    {
        label: "收货",
        value: 'RECEIVING'
    },
    {
        label: "退货",
        value: 'REFUND'
    },
]
// 领取方式
export const receiveType = [
    {
        label: "用户领取",
        value: 0
    },
    {
        label: "三方接口发放",
        value: 1
    },
    {
        label: "excel发放",
        value: 2
    },
]
// 积分账户状态
export const acctStatus = [
    {
        label: "未激活",
        value: 0
    },
    {
        label: "激活",
        value: 1
    },
    {
        label: "锁定",
        value: 2
    },
    {
        label: "止出",
        value: 3
    },
    {
        label: "止入",
        value: 4
    },
    {
        label: "注销",
        value: 5
    },
]
// 账户积分 - 账单类型
export const dcTypeList = [
    {
        label: "充值",
        value: 0
    },
    {
        label: "提现",
        value: 1
    },
    {
        label: "活动积分获得",
        value: 2
    },
    {
        label: "订单支付",
        value: 3
    },
    {
        label: "订单退款",
        value: 4
    },
    {
        label: "福利发放",
        value: 5
    },
    {
        label: "红包",
        value: 6
    },
    {
        label: "积分兑换",
        value: 5
    },
]

export const commonifList = [
    {
        label: "否",
        value: 0
    },
    {
        label: "是",
        value: 1
    }
]

export const genderList = [
    {
        label: "女",
        value: 0
    },
    {
        label: "男",
        value: 1
    }
]

export const grantType = [
    {
        label: "福利钱包",
        value: 1
    },
]

// 福利发放列表 - 发放状态
export const grantStateList = [
    {
        label: "待提交审核",
        value: 10
    },
    {
        label: "待审核",
        value: 20
    },
    {
        label: "驳回",
        value: 25
    },
    {
        label: "待确认",
        value: 30
    },
    {
        label: "作废",
        value: 40
    },
    {
        label: "发放中",
        value: 50
    },
    {
        label: "发放结束",
        value: 60
    },
]

// 福利发放列表 - 操作类型
export const operateTypeList = [
    {
        label: "提交审核",
        value: 1
    },
    {
        label: "审核通过",
        value: 2
    },
    {
        label: "驳回",
        value: 3
    },
    {
        label: "确认发放",
        value: 4
    },
]

export const backlogStatus = [
    {
        label: "待办",
        value: 0,
    },
    {
        label: "已阅",
        value: 2,
    }
]

export const backlogType = [
    {
        label: "退款待办",
        value: '1',
    },
    {
        label: "其他待办",
        value: '2',
    }
]


export const walletSex = [
    {
        label: "女",
        value: 0,
    },
    {
        label: "男",
        value: 1,
    },
]

//电子钱包状态
export const walletStatus = [
    {
        label: "未开户",
        value: 0,
    },
    {
        label: "未激活",
        value: 1,
    },
    {
        label: "开户成功",
        value: 2,
    },
]

//开户日志状态
export const walletOpenStatus = [
    {
        label: "未开户",
        value: 0,
    },
    {
        label: "开户失败",
        value: 1,
    },
    {
        label: "开户成功",
        value: 2,
    },
]

export const walletRechargeRecordStatus = [
    {
        label: "处理中",
        value: 0,
    },
    {
        label: "成功",
        value: 1,
    },
    {
        label: "失败",
        value: 2,
    },
]

export const walletChangeBindStatus = [
    {
        label: "换绑卡中",
        value: 0,
    },
    {
        label: "失败",
        value: 1,
    },
    {
        label: "成功",
        value: 2,
    },
]


export const walletWithdrawRecordStatus = [
    {
        label: "新申请",
        value: 0,
    },
    {
        label: "打款中",
        value: 1,
    },
    {
        label: "打款成功",
        value: 2,
    },
    {
        label: "打款失败",
        value: 3,
    },
]

export const statisticsUseRecordStatus = [
    {
        label: "已冻结",
        value: 1,
    },
    {
        label: "已解冻",
        value: 2,
    },
    {
        label: "已结算",
        value: 5,
    },
    {
        label: "已退款",
        value: 6,
    },
]

//消费返现状态
// 状态
export const cashbackStatus = [
    {
        label: "未领取",
        value: 0
    },
    {
        label: "领取中",
        value: 1
    },
    {
        label: "已领取",
        value: 2
    },
    {
        label: "已过期",
        value: 3
    }
]

// 状态
export const isInStatisticsList = [
    {
        label: "否",
        value: 0
    },
    {
        label: "是",
        value: 1
    }
]


// 转账状态
export const transferStatusList = [
    {
        label: "待转账",
        value: 0
    },
    {
        label: "进行中",
        value: 1
    },
    {
        label: "转账成功",
        value: 2
    },
    {
        label: "转账失败",
        value: 3
    }
]

// 提现状态
export const withdrawStatusList = [
    {
        label: "待提现",
        value: 0
    },
    {
        label: "提现中",
        value: 1
    },
    {
        label: "提现成功",
        value: 2
    },
    {
        label: "提现失败",
        value: 3
    },
    {
        label: "内部异常",
        value: 4
    }
]

// 结算类型1主账号、2子账号
export const settleTypes = [
    {
        label: "主账号",
        value: 1
    },
    {
        label: "子账号",
        value: 2
    }
]

//对账类型
export const checkOrderAccountType = [
    {
        label: "支付订单",
        value: 1,
    },
    {
        label: "退款订单",
        value: 2,
    }
]

//发票状态
export const invoiceStatusList = [
    {
        label: "开票中",
        value: '0'
    },
    {
        label: "开票失败",
        value: '-1'
    },
    {
        label: "开票成功",
        value: '1'
    },
    {
        label: "已提交",
        value: '2'
    },
    {
        label: "冲红处理中",
        value: '3'
    },
    {
        label: "冲红失败",
        value: '4'
    },
    {
        label: "冲红成功",
        value: '5'
    }
]

//分账状态
export const divideStatusList = [
    {
        label: "未开始",
        value: 0
    },
    {
        label: "分账中",
        value: 1
    },
    {
        label: "成功",
        value: 2
    },
    {
        label: "失败",
        value: 3
    }
]

//社保卡对账的渠道
export const socialChannelList = [
    {
        label: "工商银行",
        value: 1
    },
    {
        label: "银联商务",
        value: 2
    }
]

//社保卡异常订单业务类型
export const socialExceptionTypeList = [
    {
        label: "收款",
        value: 1
    },
    {
        label: "退款",
        value: 2
    }
]


export const enumMap = (obj: Array<{
    label: string,
    value: string | number
}>) => {
    return new Map(obj.map((item) => ([item.value, item.label])))
}


//匹配两个数组的id,返回label的拼接
export const matchLabels = (ids: Array<string | number>, data: Array<{ label: string, value: string | number }>): string => {
    // 通过 filter 筛选出 ids 对应的项，并通过 map 获取 label 字段，再通过 join 拼接成逗号分隔的字符串
    if (!ids || !Array.isArray(ids) || !data || !Array.isArray(data)) {
        return ''
    }
    const labels = data
        .filter(item => ids.includes(item.value))  // 筛选出 ids 中包含的 value
        .map(item => item.label);  // 获取每一项的 label

    // 返回逗号拼接的标签，若没有匹配项则返回空字符串
    return labels.join(', ') || '';
}